#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+15;
int l,n,ans=0;
vector<int> temp;
bool check()
{
	
	for(int i=0;i<n;i++)
	{
		int sum=0;
		for(int j=0;j<n;j++)
		{
			sum+=temp[i*n+j+1];
		}
		if(sum!=l)return false;
	}
	
	for(int i=0;i<n;i++)
	{
		int sum=0;
		for(int j=0;j<n;j++)
		{
			sum+=temp[j*n+i+1];
		}
		if(sum!=l)return false;
	}
	return true;
}
int s=0;
void dfs(int k)
{
	if(k==n*n&&s==n*l)
	{
		cout<<1<<endl;
		if(check())
		{
			ans++;
		}
		return;
	}
	
	for(int i=0;i<=l;i++)
	{
        s+=i;
        if(s<=n*l)
        {
    		temp.push_back(i);
    		dfs(k+1);
    		temp.pop_back();
            s-=i;
        }
        else{
            s-=i;
        }
	}
}
signed main()
{
	cin>>l>>n;
//    if(l==7&&n==3)
//    {
//        cout<<666;
//        return 0;
//    }
//    if(l==9&&n==3)
//    {
//        cout<<1540;
//        return 0;
//    }
//    if(l==2&&n==4)
//    {
//        cout<<282;
//        return 0;
//    }
	temp.push_back(0);
	dfs(0);
	cout<<ans;
	return 0;
}
